package com.crm.system.service.permissionManagement;

import com.crm.model.entity.sys.UserAccount;
import com.crm.model.vo.permissionManagement.SysMenuVO;

import java.util.List;
import java.util.Map;

/**
 * @Author yincuimei
 * @Date 2020/12/7 14:57
 */
public interface SysMenuService {

    /**
     * 根据账号ID查询用户模块左侧菜单
     * @param userAccount
     * @return
     */
    Map<String,List<SysMenuVO>> selectUserPermSysMenuList(UserAccount userAccount);

    /**
     * 根据账号ID查询管理模块左侧菜单
     * @param userAccount
     * @return
     */
    List<SysMenuVO> selectManagerPermSysMenuList(UserAccount userAccount);

    /**
     * 超级管理员--查询用户模块菜单
     * @return
     */
    List<SysMenuVO> selectAllUserPermSysMenuList();

    /**
     * 超级管理员--查询管理模块菜单
     * @return
     */
    List<SysMenuVO> selectAllManagerPermSysMenuList();

    /**
     * 超级管理员查询所有左侧菜单
     * @return
     */
    Map<String,List<SysMenuVO>> selectAllPermSysMenuList();

    /**
     * 获取权限组功能树
     * @return
     */
    Map<String, List<Map<String, Object>>> getPermissionTree(String permissionGroupId);
}
